const flatMenus = [
    {
        "menu_id": 1,
        "menu_name": "系统管理",
        "parent_id": 0,
        "order_num": 1,
        "path": "system",
        "component": null,
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "system",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "系统管理目录"
    },
    {
        "menu_id": 2,
        "menu_name": "系统监控",
        "parent_id": 0,
        "order_num": 2,
        "path": "monitor",
        "component": null,
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "monitor",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "系统监控目录"
    },
    {
        "menu_id": 3,
        "menu_name": "系统工具",
        "parent_id": 0,
        "order_num": 3,
        "path": "tool",
        "component": null,
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "tool",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "系统工具目录"
    },
    {
        "menu_id": 4,
        "menu_name": "若依官网",
        "parent_id": 0,
        "order_num": 4,
        "path": "http://lightboat.vip",
        "component": null,
        "query": "",
        "route_name": "",
        "is_frame": 0,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "1",
        "status": "1",
        "perms": "",
        "icon": "guide",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 22:27:28",
        "remark": "若依官网地址"
    },
    {
        "menu_id": 100,
        "menu_name": "用户管理",
        "parent_id": 2013,
        "order_num": 1,
        "path": "user",
        "component": "system/user/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:user:list",
        "icon": "user",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 20:13:59",
        "remark": "用户管理菜单"
    },
    {
        "menu_id": 101,
        "menu_name": "角色管理",
        "parent_id": 2013,
        "order_num": 2,
        "path": "role",
        "component": "system/role/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:role:list",
        "icon": "peoples",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 20:14:53",
        "remark": "角色管理菜单"
    },
    {
        "menu_id": 102,
        "menu_name": "菜单管理",
        "parent_id": 1,
        "order_num": 3,
        "path": "menu",
        "component": "system/menu/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:menu:list",
        "icon": "tree-table",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "菜单管理菜单"
    },
    {
        "menu_id": 103,
        "menu_name": "部门管理",
        "parent_id": 2013,
        "order_num": 4,
        "path": "dept",
        "component": "system/dept/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:dept:list",
        "icon": "tree",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 20:14:09",
        "remark": "部门管理菜单"
    },
    {
        "menu_id": 104,
        "menu_name": "岗位管理",
        "parent_id": 2013,
        "order_num": 5,
        "path": "post",
        "component": "system/post/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:post:list",
        "icon": "post",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 20:14:20",
        "remark": "岗位管理菜单"
    },
    {
        "menu_id": 105,
        "menu_name": "字典管理",
        "parent_id": 1,
        "order_num": 6,
        "path": "dict",
        "component": "system/dict/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:list",
        "icon": "dict",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "字典管理菜单"
    },
    {
        "menu_id": 106,
        "menu_name": "参数设置",
        "parent_id": 1,
        "order_num": 7,
        "path": "config",
        "component": "system/config/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:config:list",
        "icon": "edit",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "参数设置菜单"
    },
    {
        "menu_id": 107,
        "menu_name": "平台通知",
        "parent_id": 2027,
        "order_num": 8,
        "path": "notice",
        "component": "system/notice/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "system:notice:list",
        "icon": "message",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "admin",
        "update_time": "24/8/2025 22:10:09",
        "remark": "通知公告菜单"
    },
    {
        "menu_id": 108,
        "menu_name": "日志管理",
        "parent_id": 1,
        "order_num": 9,
        "path": "log",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "log",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "日志管理菜单"
    },
    {
        "menu_id": 109,
        "menu_name": "在线用户",
        "parent_id": 2,
        "order_num": 1,
        "path": "online",
        "component": "monitor/online/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:online:list",
        "icon": "online",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:43",
        "update_by": "",
        "update_time": null,
        "remark": "在线用户菜单"
    },
    {
        "menu_id": 110,
        "menu_name": "定时任务",
        "parent_id": 2,
        "order_num": 2,
        "path": "job",
        "component": "monitor/job/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:list",
        "icon": "job",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "定时任务菜单"
    },
    {
        "menu_id": 111,
        "menu_name": "数据监控",
        "parent_id": 2,
        "order_num": 3,
        "path": "druid",
        "component": "monitor/druid/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:druid:list",
        "icon": "druid",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "数据监控菜单"
    },
    {
        "menu_id": 112,
        "menu_name": "服务监控",
        "parent_id": 2,
        "order_num": 4,
        "path": "server",
        "component": "monitor/server/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:server:list",
        "icon": "server",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "服务监控菜单"
    },
    {
        "menu_id": 113,
        "menu_name": "缓存监控",
        "parent_id": 2,
        "order_num": 5,
        "path": "cache",
        "component": "monitor/cache/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:cache:list",
        "icon": "redis",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "缓存监控菜单"
    },
    {
        "menu_id": 114,
        "menu_name": "缓存列表",
        "parent_id": 2,
        "order_num": 6,
        "path": "cacheList",
        "component": "monitor/cache/list",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:cache:list",
        "icon": "redis-list",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "缓存列表菜单"
    },
    {
        "menu_id": 115,
        "menu_name": "表单构建",
        "parent_id": 3,
        "order_num": 1,
        "path": "build",
        "component": "tool/build/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "tool:build:list",
        "icon": "build",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "表单构建菜单"
    },
    {
        "menu_id": 116,
        "menu_name": "代码生成",
        "parent_id": 3,
        "order_num": 2,
        "path": "gen",
        "component": "tool/gen/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:list",
        "icon": "code",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "代码生成菜单"
    },
    {
        "menu_id": 117,
        "menu_name": "系统接口",
        "parent_id": 3,
        "order_num": 3,
        "path": "swagger",
        "component": "tool/swagger/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "tool:swagger:list",
        "icon": "swagger",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "系统接口菜单"
    },
    {
        "menu_id": 500,
        "menu_name": "操作日志",
        "parent_id": 108,
        "order_num": 1,
        "path": "operlog",
        "component": "monitor/operlog/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:operlog:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "操作日志菜单"
    },
    {
        "menu_id": 501,
        "menu_name": "登录日志",
        "parent_id": 108,
        "order_num": 2,
        "path": "logininfor",
        "component": "monitor/logininfor/index",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "monitor:logininfor:list",
        "icon": "logininfor",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": "登录日志菜单"
    },
    {
        "menu_id": 1000,
        "menu_name": "用户查询",
        "parent_id": 100,
        "order_num": 1,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1001,
        "menu_name": "用户新增",
        "parent_id": 100,
        "order_num": 2,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1002,
        "menu_name": "用户修改",
        "parent_id": 100,
        "order_num": 3,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:44",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1003,
        "menu_name": "用户删除",
        "parent_id": 100,
        "order_num": 4,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1004,
        "menu_name": "用户导出",
        "parent_id": 100,
        "order_num": 5,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1005,
        "menu_name": "用户导入",
        "parent_id": 100,
        "order_num": 6,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:import",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1006,
        "menu_name": "重置密码",
        "parent_id": 100,
        "order_num": 7,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:user:resetPwd",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1007,
        "menu_name": "角色查询",
        "parent_id": 101,
        "order_num": 1,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:role:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1008,
        "menu_name": "角色新增",
        "parent_id": 101,
        "order_num": 2,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:role:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1009,
        "menu_name": "角色修改",
        "parent_id": 101,
        "order_num": 3,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:role:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1010,
        "menu_name": "角色删除",
        "parent_id": 101,
        "order_num": 4,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:role:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1011,
        "menu_name": "角色导出",
        "parent_id": 101,
        "order_num": 5,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:role:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1012,
        "menu_name": "菜单查询",
        "parent_id": 102,
        "order_num": 1,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:menu:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1013,
        "menu_name": "菜单新增",
        "parent_id": 102,
        "order_num": 2,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:menu:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1014,
        "menu_name": "菜单修改",
        "parent_id": 102,
        "order_num": 3,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:menu:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1015,
        "menu_name": "菜单删除",
        "parent_id": 102,
        "order_num": 4,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:menu:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1016,
        "menu_name": "部门查询",
        "parent_id": 103,
        "order_num": 1,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dept:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:45",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1017,
        "menu_name": "部门新增",
        "parent_id": 103,
        "order_num": 2,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dept:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1018,
        "menu_name": "部门修改",
        "parent_id": 103,
        "order_num": 3,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dept:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1019,
        "menu_name": "部门删除",
        "parent_id": 103,
        "order_num": 4,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dept:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1020,
        "menu_name": "岗位查询",
        "parent_id": 104,
        "order_num": 1,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:post:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1021,
        "menu_name": "岗位新增",
        "parent_id": 104,
        "order_num": 2,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:post:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1022,
        "menu_name": "岗位修改",
        "parent_id": 104,
        "order_num": 3,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:post:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1023,
        "menu_name": "岗位删除",
        "parent_id": 104,
        "order_num": 4,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:post:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1024,
        "menu_name": "岗位导出",
        "parent_id": 104,
        "order_num": 5,
        "path": "",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:post:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1025,
        "menu_name": "字典查询",
        "parent_id": 105,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1026,
        "menu_name": "字典新增",
        "parent_id": 105,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1027,
        "menu_name": "字典修改",
        "parent_id": 105,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1028,
        "menu_name": "字典删除",
        "parent_id": 105,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1029,
        "menu_name": "字典导出",
        "parent_id": 105,
        "order_num": 5,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:dict:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1030,
        "menu_name": "参数查询",
        "parent_id": 106,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:config:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:46",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1031,
        "menu_name": "参数新增",
        "parent_id": 106,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:config:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1032,
        "menu_name": "参数修改",
        "parent_id": 106,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:config:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1033,
        "menu_name": "参数删除",
        "parent_id": 106,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:config:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1034,
        "menu_name": "参数导出",
        "parent_id": 106,
        "order_num": 5,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:config:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1035,
        "menu_name": "公告查询",
        "parent_id": 107,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:notice:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1036,
        "menu_name": "公告新增",
        "parent_id": 107,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:notice:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1037,
        "menu_name": "公告修改",
        "parent_id": 107,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:notice:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1038,
        "menu_name": "公告删除",
        "parent_id": 107,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "system:notice:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1039,
        "menu_name": "操作查询",
        "parent_id": 500,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:operlog:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1040,
        "menu_name": "操作删除",
        "parent_id": 500,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:operlog:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1041,
        "menu_name": "日志导出",
        "parent_id": 500,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:operlog:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1042,
        "menu_name": "登录查询",
        "parent_id": 501,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:logininfor:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1043,
        "menu_name": "登录删除",
        "parent_id": 501,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:logininfor:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1044,
        "menu_name": "日志导出",
        "parent_id": 501,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:logininfor:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:47",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1045,
        "menu_name": "账户解锁",
        "parent_id": 501,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:logininfor:unlock",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1046,
        "menu_name": "在线查询",
        "parent_id": 109,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:online:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1047,
        "menu_name": "批量强退",
        "parent_id": 109,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:online:batchLogout",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1048,
        "menu_name": "单条强退",
        "parent_id": 109,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:online:forceLogout",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1049,
        "menu_name": "任务查询",
        "parent_id": 110,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1050,
        "menu_name": "任务新增",
        "parent_id": 110,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:add",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1051,
        "menu_name": "任务修改",
        "parent_id": 110,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1052,
        "menu_name": "任务删除",
        "parent_id": 110,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1053,
        "menu_name": "状态修改",
        "parent_id": 110,
        "order_num": 5,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:changeStatus",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1054,
        "menu_name": "任务导出",
        "parent_id": 110,
        "order_num": 6,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "monitor:job:export",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1055,
        "menu_name": "生成查询",
        "parent_id": 116,
        "order_num": 1,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:query",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1056,
        "menu_name": "生成修改",
        "parent_id": 116,
        "order_num": 2,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:edit",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1057,
        "menu_name": "生成删除",
        "parent_id": 116,
        "order_num": 3,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:remove",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1058,
        "menu_name": "导入代码",
        "parent_id": 116,
        "order_num": 4,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:import",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:48",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1059,
        "menu_name": "预览代码",
        "parent_id": 116,
        "order_num": 5,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:preview",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:49",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 1060,
        "menu_name": "生成代码",
        "parent_id": 116,
        "order_num": 6,
        "path": "#",
        "component": "",
        "query": "",
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "F",
        "visible": "0",
        "status": "0",
        "perms": "tool:gen:code",
        "icon": "#",
        "create_by": "admin",
        "create_time": "12/8/2025 08:59:49",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2000,
        "menu_name": "订单管理",
        "parent_id": 0,
        "order_num": 0,
        "path": "platformOrders",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "skill",
        "create_by": "admin",
        "create_time": "13/8/2025 19:08:07",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2003,
        "menu_name": "公海订单",
        "parent_id": 2000,
        "order_num": 1,
        "path": "highSeasOrder",
        "component": "platformOrders/highSeasOrder/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platformOrders:highSeasOrder:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:13:59",
        "update_by": "admin",
        "update_time": "13/8/2025 21:44:19",
        "remark": ""
    },
    {
        "menu_id": 2004,
        "menu_name": "复购单统计",
        "parent_id": 2000,
        "order_num": 3,
        "path": "repurchaseOrderStatistics",
        "component": "platformOrders/repurchaseOrderStatistics/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platformOrders:repurchaseOrderStatistics:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:14:58",
        "update_by": "admin",
        "update_time": "13/8/2025 21:46:32",
        "remark": ""
    },
    {
        "menu_id": 2005,
        "menu_name": "平台客户",
        "parent_id": 0,
        "order_num": 5,
        "path": "platformCustomers",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "peoples",
        "create_by": "admin",
        "create_time": "13/8/2025 19:18:22",
        "update_by": "admin",
        "update_time": "13/8/2025 21:27:48",
        "remark": ""
    },
    {
        "menu_id": 2006,
        "menu_name": "客户信息",
        "parent_id": 2005,
        "order_num": 0,
        "path": "customers",
        "component": "platformCustomers/customers/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platformCustomers:customers:list",
        "icon": "peoples",
        "create_by": "admin",
        "create_time": "13/8/2025 19:19:00",
        "update_by": "admin",
        "update_time": "13/8/2025 21:27:58",
        "remark": ""
    },
    {
        "menu_id": 2007,
        "menu_name": "业绩管理",
        "parent_id": 0,
        "order_num": 6,
        "path": "performance",
        "component": "performance/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "performance:index:list",
        "icon": "money",
        "create_by": "admin",
        "create_time": "13/8/2025 19:19:59",
        "update_by": "admin",
        "update_time": "13/8/2025 21:35:22",
        "remark": ""
    },
    {
        "menu_id": 2008,
        "menu_name": "财务管理",
        "parent_id": 0,
        "order_num": 7,
        "path": "financial",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "monitor",
        "create_by": "admin",
        "create_time": "13/8/2025 19:22:44",
        "update_by": "admin",
        "update_time": "13/8/2025 21:32:58",
        "remark": ""
    },
    {
        "menu_id": 2009,
        "menu_name": "复购单核销",
        "parent_id": 2008,
        "order_num": 0,
        "path": "reversalPurchaseRecord",
        "component": "financial/reversalPurchaseRecord/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "financial:reversalPurchaseRecord:list",
        "icon": "documentation",
        "create_by": "admin",
        "create_time": "13/8/2025 19:25:27",
        "update_by": "admin",
        "update_time": "13/8/2025 21:33:05",
        "remark": ""
    },
    {
        "menu_id": 2010,
        "menu_name": "商品管理",
        "parent_id": 0,
        "order_num": 8,
        "path": "goods",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "shopping",
        "create_by": "admin",
        "create_time": "13/8/2025 19:27:58",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2011,
        "menu_name": "商品信息",
        "parent_id": 2010,
        "order_num": 0,
        "path": "goodsInfo",
        "component": "goods/goodsInfo/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "goods:goodsInfo:list",
        "icon": "shopping",
        "create_by": "admin",
        "create_time": "13/8/2025 19:30:34",
        "update_by": "admin",
        "update_time": "13/8/2025 21:34:52",
        "remark": ""
    },
    {
        "menu_id": 2012,
        "menu_name": "套餐信息",
        "parent_id": 2010,
        "order_num": 1,
        "path": "combinationProducts",
        "component": "goods/combinationProducts/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "1",
        "status": "1",
        "perms": "goods:combinationProducts:list",
        "icon": "shopping",
        "create_by": "admin",
        "create_time": "13/8/2025 19:31:48",
        "update_by": "admin",
        "update_time": "20/8/2025 23:04:49",
        "remark": ""
    },
    {
        "menu_id": 2013,
        "menu_name": "员工管理",
        "parent_id": 0,
        "order_num": 9,
        "path": "staff",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "user",
        "create_by": "admin",
        "create_time": "13/8/2025 19:33:23",
        "update_by": "admin",
        "update_time": "14/8/2025 18:55:27",
        "remark": ""
    },
    {
        "menu_id": 2014,
        "menu_name": "目标统计",
        "parent_id": 0,
        "order_num": 10,
        "path": "targetStatistics",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "slider",
        "create_by": "admin",
        "create_time": "13/8/2025 19:39:00",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2015,
        "menu_name": "我的目标",
        "parent_id": 2014,
        "order_num": 0,
        "path": "mtarget",
        "component": "targetStatistics/mtarget/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "targetStatistics:mtarget:list",
        "icon": "slider",
        "create_by": "admin",
        "create_time": "13/8/2025 19:39:31",
        "update_by": "admin",
        "update_time": "13/8/2025 21:36:29",
        "remark": ""
    },
    {
        "menu_id": 2016,
        "menu_name": "客服管理",
        "parent_id": 0,
        "order_num": 11,
        "path": "customerService",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "github",
        "create_by": "admin",
        "create_time": "13/8/2025 19:41:03",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2017,
        "menu_name": "复购订单",
        "parent_id": 2016,
        "order_num": 2,
        "path": "repeatPurchaseOrder",
        "component": "customerService/repeatPurchaseOrder/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "customerService:repeatPurchaseOrder:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:42:28",
        "update_by": "admin",
        "update_time": "28/8/2025 20:18:01",
        "remark": ""
    },
    {
        "menu_id": 2018,
        "menu_name": "平台订单",
        "parent_id": 2016,
        "order_num": 0,
        "path": "order",
        "component": "customerService/order/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "customerService:order:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:43:28",
        "update_by": "admin",
        "update_time": "13/8/2025 21:36:45",
        "remark": ""
    },
    {
        "menu_id": 2019,
        "menu_name": "发货管理",
        "parent_id": 0,
        "order_num": 12,
        "path": "delivery",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": "",
        "icon": "example",
        "create_by": "admin",
        "create_time": "13/8/2025 19:45:16",
        "update_by": "admin",
        "update_time": "13/8/2025 21:57:15",
        "remark": ""
    },
    {
        "menu_id": 2020,
        "menu_name": "发货信息",
        "parent_id": 2019,
        "order_num": 0,
        "path": "infos",
        "component": "delivery/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "delivery:index",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:45:58",
        "update_by": "admin",
        "update_time": "13/8/2025 21:57:40",
        "remark": ""
    },
    {
        "menu_id": 2021,
        "menu_name": "待分配订单",
        "parent_id": 2016,
        "order_num": 1,
        "path": "pendingOrders",
        "component": "customerService/pendingOrders/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "customerService:pendingOrders:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 19:48:40",
        "update_by": "admin",
        "update_time": "13/8/2025 21:38:21",
        "remark": ""
    },
    {
        "menu_id": 2022,
        "menu_name": "平台管理",
        "parent_id": 0,
        "order_num": 13,
        "path": "platform",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "system",
        "create_by": "admin",
        "create_time": "13/8/2025 19:51:34",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2023,
        "menu_name": "系统设置",
        "parent_id": 2022,
        "order_num": 0,
        "path": "settings",
        "component": "platform/settings/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platform:settings:index",
        "icon": "system",
        "create_by": "admin",
        "create_time": "13/8/2025 19:52:07",
        "update_by": "admin",
        "update_time": "13/8/2025 21:55:32",
        "remark": ""
    },
    {
        "menu_id": 2024,
        "menu_name": "平台订单",
        "parent_id": 2000,
        "order_num": 0,
        "path": "orders",
        "component": "platformOrders/orders/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platformOrders:orders:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 21:47:55",
        "update_by": "admin",
        "update_time": "13/8/2025 21:50:13",
        "remark": ""
    },
    {
        "menu_id": 2025,
        "menu_name": "复购订单",
        "parent_id": 2000,
        "order_num": 2,
        "path": "rpOrders",
        "component": "platformOrders/repeatPurchaseOrder/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "platformOrders:rpOrders:list",
        "icon": "form",
        "create_by": "admin",
        "create_time": "13/8/2025 21:49:08",
        "update_by": "admin",
        "update_time": "13/8/2025 21:51:34",
        "remark": ""
    },
    {
        "menu_id": 2026,
        "menu_name": "员工信息",
        "parent_id": 2013,
        "order_num": 0,
        "path": "info",
        "component": "staffs/info/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "1",
        "status": "1",
        "perms": "staffs:info:index",
        "icon": "user",
        "create_by": "admin",
        "create_time": "13/8/2025 22:02:40",
        "update_by": "admin",
        "update_time": "24/8/2025 20:16:39",
        "remark": ""
    },
    {
        "menu_id": 2027,
        "menu_name": "系统公告",
        "parent_id": 0,
        "order_num": 1,
        "path": "notification",
        "component": null,
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "M",
        "visible": "0",
        "status": "0",
        "perms": null,
        "icon": "message",
        "create_by": "admin",
        "create_time": "14/8/2025 18:21:30",
        "update_by": "",
        "update_time": null,
        "remark": ""
    },
    {
        "menu_id": 2028,
        "menu_name": "通知公告",
        "parent_id": 2027,
        "order_num": 0,
        "path": "inform",
        "component": "notification/info/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "1",
        "status": "1",
        "perms": "notification:info:list",
        "icon": "message",
        "create_by": "admin",
        "create_time": "14/8/2025 18:22:06",
        "update_by": "admin",
        "update_time": "24/8/2025 22:11:14",
        "remark": ""
    },
    {
        "menu_id": 2029,
        "menu_name": "客户评价",
        "parent_id": 2016,
        "order_num": 4,
        "path": "evaluate",
        "component": "customerService/evaluate/index",
        "query": null,
        "route_name": "",
        "is_frame": 1,
        "is_cache": 0,
        "menu_type": "C",
        "visible": "0",
        "status": "0",
        "perms": "customerService:evaluate:index",
        "icon": "star",
        "create_by": "admin",
        "create_time": "28/8/2025 20:17:30",
        "update_by": "admin",
        "update_time": "28/8/2025 20:20:31",
        "remark": ""
    }
]
/**
 * 构建路由树（兼容 RuoYi 前端逻辑）
 * @param {Array} menuList - 后端返回的扁平菜单
 * @returns {Array} 处理后的路由数组
 */
function transformMenuToRoutes(menuList) {
    // 1. 先构建成树
    const map = {};
    const roots = [];

    menuList.forEach(menu => {
        map[menu.menu_id] = { ...menu, children: [] };
    });

    menuList.forEach(menu => {
        const item = map[menu.menu_id];
        const parentId = menu.parent_id;

        // 过滤不可见菜单
        if (menu.visible !== '0') return;

        // 只处理 M(目录) 和 C(菜单)，F(按钮) 不生成路由
        if (['M', 'C'].indexOf(menu.menu_type) === -1) return;

        if (parentId === 0 || !map[parentId]) {
            roots.push(item);
        } else {
            if (!map[parentId].children) {
                map[parentId].children = [];
            }
            map[parentId].children.push(item);
        }
    });

    // 2. 深度优先处理成路由对象
    function deepHandler(menu, parentPath = '') {
        const route = {};
        const isRoot = menu.parent_id === 0;
        const isExternal = menu.is_frame === 1 && menu.path.startsWith('http');

        // ========== path 处理 ==========
        if (isExternal) {
            // 外链：使用 /inner 或 /outer 包装
            route.path = menu.menu_id + '';
            route.component = 'Layout'; // 外链需要包裹在 Layout 中
            route.children = [{
                path: isRoot ? menu.path : '/' + menu.path,
                component: 'views/inner-link/index',
                name: menu.route_name || 'Link' + menu.menu_id,
                meta: {
                    title: menu.menu_name,
                    link: menu.path,
                    icon: menu.icon
                }
            }];
        } else {
            // 内部路由
            route.path = menu.path.startsWith('/') ? menu.path : (isRoot ? '/' + menu.path : menu.path);

            // ========== component 处理 ==========
            if (menu.menu_type === 'M') {
                // 目录：使用 Layout 或 ParentView（有子菜单）
                route.component = menu.component || (menu.children && menu.children.length > 0 ? 'Layout' : 'ParentView');
            } else if (menu.menu_type === 'C') {
                // 菜单：必须指定 component
                if (menu.component && !menu.component.startsWith('Layout')) {
                    route.component = menu.component; // 如：system/user/index
                } else {
                    route.component = 'Layout'; // fallback
                }
            }
        }

        // ========== name 处理 ==========
        route.name = menu.route_name || menu.menu_name;

        // ========== meta 信息 ==========
        route.meta = {
            title: menu.menu_name,
            icon: menu.icon,
            noCache: menu.is_cache === 1, // is_cache=1 表示不缓存
            link: isExternal ? menu.path : undefined,
            perms: menu.perms || ''
        };

        // ========== 子菜单递归处理 ==========
        if (menu.children && menu.children.length > 0) {
            route.children = menu.children
                .map(child => deepHandler(child, route.path))
                .filter(Boolean); // 过滤掉无效路由

            // 如果是目录且有子菜单，component 应为 Layout，子菜单挂载在它下面
            if (menu.menu_type === 'M' && route.component === 'Layout') {
                // 子菜单直接挂载，当前目录只作为容器
            }
        }

        return route;
    }

    return roots.map(menu => deepHandler(menu));
}

console.log('mapToRouter ======> ', transformMenuToRoutes(flatMenus))